package cn.atzxc.qy.utils;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class NumberGenerator {
    
    // 生成订单编号的方法
    public static String generateOrderNumber() {
        // 获取当前时间戳
        long timestamp = System.currentTimeMillis();
        
        // 格式化时间戳，以便于在订单编号中使用
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        String timestampStr = dateFormat.format(new Date(timestamp));
        
        // 生成随机数作为订单编号的一部分
        Random random = new Random();
        int randomNum = random.nextInt(10000); // 这里可以根据需求调整随机数的范围
        
        // 组合订单编号
        String orderNumber = timestampStr + String.format("%04d", randomNum);
        
        return orderNumber;
    }

    // 方法用于生成当前时间的Timestamp对象
    public static Timestamp generateCurrentDateTime() {
        // 获取当前时间的毫秒数
        long currentTimeMillis = System.currentTimeMillis();

        // 使用当前时间的毫秒数创建Timestamp对象
        Timestamp currentTimestamp = new Timestamp(currentTimeMillis);

        return currentTimestamp;
    }

    public static void main(String[] args) {
        // 测试生成订单编号
        Timestamp orderNumber = generateCurrentDateTime();
        System.out.println("生成的订单编号为：" + orderNumber);
    }
}
